//蓝桥杯
//青蛙跳杯子 
//https://www.lanqiao.cn/problems/102/learning/ 
//思路:hash存储初始每一个可能字符串到目标字符串的距离，枚举所有能到空杯子的青蛙并记录操作次数(先找到*)

#include<bits/stdc++.h>
int dx[]={1,-1,2,-2,3,-3};
using namespace std;
string s,t;
int sz=0;
int bfs()
{
    queue<string> q;
    unordered_map<string,int> dist;
    //初始化
    q.push(s);
    dist[s]=0;

    while(q.size())
    {
        auto k=q.front();
        q.pop();
        int distance=dist[k];
        //返回条件
        if(k==t) return distance;

        int pos=k.find('*');
        for(int i=0;i<6;i++)
        {
            int nx=pos+dx[i];
            if(nx>=0&&nx<sz)
            {
                swap(k[pos],k[nx]);//变化
                if(dist.count(k)==0)
                {
                    dist[k]=distance+1;
                    q.push(k);
                }
                swap(k[pos],k[nx]);//恢复现场
            }
        }
    }
    return -1;
}
int main(){
    cin>>s>>t;
    sz=s.size();
    printf("%d",bfs());
    return 0;
}
